<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>$(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.0;$(NetFrameworkMinimum)</TargetFrameworks>
    <IsTrimmable>false</IsTrimmable>
    <EnableAOTAnalyzer>false</EnableAOTAnalyzer>
    <StrongNameKeyId>Microsoft</StrongNameKeyId>
    <UseCompilerGeneratedDocXmlFile>false</UseCompilerGeneratedDocXmlFile>
    <IsPackable>true</IsPackable>
    <PackageDescription>Provides Managed Extensibility Framework types that are useful to developers of extensible applications, or hosts.

Commonly Used Types:
System.Composition.Hosting.CompositionHost</PackageDescription>

    <!-- TODO https://github.com/dotnet/runtime/issues/90400: Annotate for nullable reference types -->
    <Nullable>disable</Nullable>
    <NoWarn>$(NoWarn);nullable</NoWarn>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="System\Composition\Hosting\CompositionHost.cs" />
    <Compile Include="System\Composition\Hosting\Core\CompositeActivator.cs" />
    <Compile Include="System\Composition\Hosting\Core\CompositionDependency.cs" />
    <Compile Include="System\Composition\Hosting\Core\CompositionOperation.cs" />
    <Compile Include="System\Composition\Hosting\Core\CycleBreakingExportDescriptor.cs" />
    <Compile Include="System\Composition\Hosting\Core\CycleBreakingMetadataDictionary.cs" />
    <Compile Include="System\Composition\Hosting\Core\DependencyAccessor.cs" />
    <Compile Include="System\Composition\Hosting\Core\DirectExportDescriptor.cs" />
    <Compile Include="System\Composition\Hosting\Core\ExportDescriptor.cs" />
    <Compile Include="System\Composition\Hosting\Core\ExportDescriptorPromise.cs" />
    <Compile Include="System\Composition\Hosting\Core\ExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Core\ExportDescriptorRegistry.cs" />
    <Compile Include="System\Composition\Hosting\Core\ExportDescriptorRegistryUpdate.cs" />
    <Compile Include="System\Composition\Hosting\Core\LifetimeContext.cs" />
    <Compile Include="System\Composition\Hosting\Core\UpdateResult.cs" />
    <Compile Include="System\Composition\Hosting\Providers\Constants.cs" />
    <Compile Include="System\Composition\Hosting\Providers\CurrentScope\CurrentScopeExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Providers\ExportFactory\ExportFactoryExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Providers\ExportFactory\ExportFactoryWithMetadataExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Providers\ImportMany\ImportManyExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Providers\Lazy\LazyExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Providers\Lazy\LazyWithMetadataExportDescriptorProvider.cs" />
    <Compile Include="System\Composition\Hosting\Providers\Metadata\MetadataViewProvider.cs" />
    <Compile Include="System\Composition\Hosting\Util\Formatters.cs" />
    <Compile Include="System\Composition\Hosting\Util\MethodInfoExtensions.cs" />
    <Compile Include="System\Composition\Hosting\Util\SmallSparseInitonlyArray.cs" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="$(LibrariesProjectRoot)System.Composition.Runtime\src\System.Composition.Runtime.csproj" />
  </ItemGroup>

  <ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'">
    <Reference Include="System.ComponentModel.Composition" />
  </ItemGroup>

</Project>
